package com.smartwebx.ha.dal.feature.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider;

import com.smartwebx.ha.dal.config.OracleConfigInfo;
import com.smartwebx.ha.dal.feature.sqlprovider.FeatureAllWaterMapperProvider;
import com.smartwebx.ha.dal.inter.water.IFeatureFlowDao;
import com.smartwebx.ha.dal.inter.water.IFeatureWaterDao;
import com.smartwebx.ha.dal.usebean.FeatureHighLow;
import com.smartwebx.ha.dal.usebean.FeatureWaterPeriod;

/**
 * 特征库 泵站
 * 
 * @author zhangxi
 * 
 */
public interface FeaturePumpMapper extends IFeatureFlowDao, IFeatureWaterDao {
	String TZ_MZ_T = OracleConfigInfo.FEATURE_NAME + ".TZ_MZ_T";
	String TZ_DZMY_T = OracleConfigInfo.FEATURE_NAME + ".TZ_DZMY_T";
	String TZ_MQ_T = OracleConfigInfo.FEATURE_NAME + ".TZ_MQ_T";

	/**
	 * 获得多年单站最高最低水位信息
	 * 
	 * @param stcd
	 * @return
	 */
	@SelectProvider(type = FeatureAllWaterMapperProvider.class, method = "getMoreYearStatHighLowWaterSQL")
	List<FeatureHighLow> getMoreYearStatHighLowWater(@Param("stcd") String stcd);

	/**
	 * 同期平均水位 （泵站、河道、堰闸，在同张表中，故操作相同）
	 * 
	 * @param stcd
	 * @param startMonth
	 * @param endMonth
	 * @param startDay
	 * @param endDay
	 * @return
	 */
	@SelectProvider(type = FeatureAllWaterMapperProvider.class, method = "getPeriodAvgContrastWaterSQL")
	List<FeatureWaterPeriod> getPeriodAvgContrastWater(
			@Param("stcd") String stcd,
			@Param("startMonth") Integer startMonth,
			@Param("endMonth") Integer endMonth,
			@Param("startDay") Integer startDay, @Param("endDay") Integer endDay);

	/**
	 * 获得多年单站最高最低流量(堰闸、河道、水库、泵站，同张表)
	 * 
	 * @param stcd
	 * @return
	 */
	@SelectProvider(type = FeatureAllWaterMapperProvider.class, method = "getMoreYearStatHighLowFlowSQL")
	List<FeatureHighLow> getMoreYearStatHighLowFlow(@Param("stcd") String stcd);
}
